package com.ruoyi.carApi.click;

import com.ruoyi.carApi.api.IPlateCallback;
import com.sun.jna.Pointer;

/**
 * @Author: wwy
 * @Date: 2021/6/22 11:05
 */
public interface CarApiClick {
    /**
     * 打开道闸
     * @param hSDK
     * @return
     */
    public int openGate(Pointer hSDK);

    /**
     * 打开道闸
     * @param ip
     * @return
     */
    public int openGate(String ip);

    /**
     * 连接相机
     * @param ip
     * @return
     */
    public Pointer connect(String ip);


    /**
     * 关闭连接
     * @param hsDk
     * @return
     */
    public void closeConnect(Pointer hsDk);

    /**
     * 关闭连接
     * @param ip
     */
    public void closeConnect(String ip);

    /**
     * 设置指定设备回调函数
     * @param plateCallback
     */
    public void setCallback(IPlateCallback plateCallback,Pointer hsDk);

    /**
     * 设置全部设备回调函数
     * @param plateCallback
     */
    public void setCallbackAll(IPlateCallback plateCallback);

    /**
     * 快速连接，包含，连接设备，设置回调函数，
     * @param ips
     */
    public void quickConnect(String[] ips);



    /**
     * 设置结果获取回调函数
     * @param iCarCallBack
     */
    public void setResultCallBack(ICarCallBack iCarCallBack);

    /**
     * 添加白名单
     * @param ip 设备ip
     * @param pcNumber 车牌
     * @param pcDateBegin 开始日期
     * @param pcDateEnd 结束日期
     * @param pcTimeBegin 开始时间
     * @param pcTimeEnd 结束时间
     * @param pcRemark 备注
     * @param pcRsrv2 备用
     * @param pcRsrv3 备用
     * @param pcRsrv4 备用
     * @return
     */
    int addWhiteItem(String ip, String pcNumber, String pcDateBegin, String pcDateEnd, String pcTimeBegin, String pcTimeEnd, String pcRemark, String pcRsrv2, String pcRsrv3, String pcRsrv4);

    /**
     * 删除白名单
     * @param ip
     * @param pcNumber
     * @return
     */
    int deleteWhiteItem(String ip, String pcNumber);
}
